1. Technical Field
The present invention generally relates to systems and methods for tracing errors in computer programs.
2. Related Art
Developers, engineers, and designers generally need to run and test software during development to evaluate its functionality and robustness. They may do this by using macros to trace various errors in the software. The macros, upon detecting an error, typically call a function to try to save the state of the register set, some additional hardware information, and/or the current stack, so that this information can be later retrieved. However, the function call, depending on the computer architecture, may change the information as the function is being invoked. This makes it difficult to obtain accurate information to debug the error and turns any function invoking the function call into a non-leaf function (i.e., a function that makes function calls).
Accordingly, it would be beneficial to provide a way to facilitate the tracing of errors in computer software.